home *** CD-ROM | disk | FTP | other *** search
- ; create a token list from a sorted C source list
- ; format of source:
- ; [<whitespace>]"token-name"<junk>
- ; format of output:
- ; token-number token-name
-
- ;; How to:
- ;; 1. clear me.tok
- ;; 2. add list from bind.c
- ;; 3. run sys-tokenize
- ;; 4. append list from mmaux.c
- ;; 5. run mutt-tokenize on that list
- ;; 6. run sort-tokens
-
- (const sort-flags "+1") ; "+1" for UNIX, "-p2" for MS-DOS
-
- (include me2.h)
-
- (defun
- sys-tokenize
- {
- (int n)(n 0)
-
- (beginning-of-buffer)
- (while (TRUE)
- {
- (if (re-search-forward '^\ *"\(\w+\)".+$')()(done))
- (cut-the-line)
- (insert-text n " " (get-matched '\1'))(open-line)(+= n 1)
- })
- }
- mutt-tokenize
- {
- (re-search-replace '^\ *"\(.+\)",\ *\(\d+\).*$' '\2 \1')
- }
- sort-tokens
- {
- (beginning-of-buffer)(set-mark)(end-of-buffer)
- (clear-bag CUT-BUFFER)(append-to-bag CUT-BUFFER APPEND-REGION)
- (delete-region)
- (OS-filter (concat "sort " sort-flags) CUT-BUFFER -1 TRUE)
- }
- )
-